<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        // function dog(name, sex, cry) {
        //     let obj = {}
        //     obj.name = name;
        //     obj.sex = sex;
        //     if (cry) {
        //         obj.cry = setInterval(function () {
        //             console.log("汪")
        //         }, cry)
        //     } else {
        //         obj.cry = "汪汪汪"
        //     }
        //     return obj

        // }
        // let one = dog("大黄", "公", 0)
        // let two = dog("小黑", "公", 1000)
        // console.log(one, two)
        // function person(name) {
        //     let obj = {};
        //     obj.name = name;
        //     obj.fn = function () {
        //         console.log()
        //     }
        // }
        // function Person(name) {
        //     this.name = name
        //     this.fn = function () {
        //         console.log("fn")
        //     }
        // }
        // function myNew(fn, name) {
        //     let obj = {}
        //     Person.call(obj, name);
        //     return obj;
        // }
        // let zhangsan = myNew(Person, "汪汪汪")
        // let lisi = myNew(Person, "嘎嘎嘎")
        // console.log(zhangsan, lisi)
        // function Person(name, wtf) {
        //     this.name = name
        //     this.wtf = wtf
        // }
        // Person.prototype.fn = function () {
        //     console.log("名字是" + this.name)
        //     console.log("你说啥" + this.wtf)
        // }
        // Person.prototype.fn2 = function(){
        // }
        // let zhangsan = new Person("张三", "嘎嘎嘎")
        // console.log(zhangsan)
        // zhangsan.fn()
        // Object.setPrototypeOf(zhangsan, { age: 11 })
        // let res = Object.getPrototypeOf(zhangsan)
        // console.log(res)

        // function Person() {
        //     this.name = "汪汪汪"
        //     this.age = 11
        // }
        // Person.prototype.age = 22
        // let zhangsan = new Person()
        // console.log(zhangsan.age)
        // var obj = Object.create({ age: 33 })
        // console.log(obj.age)
        // Array.prototype.str = "hello"
        // var arr = [1, 2, 3]
        // arr.forEach(item => {
        //     console.log(item)
        // })
        Array.prototype.myforEach = function (fn) {
            for (let i = 0; i < this.length; i++) {
                fn(this[i])
            }
        }
        let arr = new Array(1, 2, 3)
        arr.myforEach(item => {
            console.log(item)
        })
    </script>
</body>

</html>